SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE procedure [dbo].[SP_TCFINA_BANC_Q03]              
/*----------------------------------------------------*/                
/*---Empresa              : OFISIS S.A.       	   --*/                
/*---Cliente              : OFISIS S.A.       	   --*/                
/*---Sistema              : Tesoreria               --*/                
/*---M«dulo               : Empresa                 --*/                
/*---Programa             : Reporte Finaciamientos  --*/                
/*---Nombre SP            : SP_TCFINA_BANC_Q03      --*/                
/*---Desarrollado por     : Carlos Marquez Escobar  --*/                
/*---Fecha Creaci«n       : 02/02/2005              --*/                
/*---Base Datos           : Microsoft Sql Server    --*/                
/*---Versi«n              : 2005                    --*/                
/*---Invoca a SP          :                         --*/                
/*----------------------------------------------------*/                
/*----------------------------------------------------*/                
/*---Modificado 1 por     :                         --*/                
/*---Fecha Modificaci«n   :                         --*/                
/*---Detalle Modificaci«n :                         --*/                
/*----------------------------------------------------*/                
/*---Comentarios                                    --*/                
/*---                                               --*/                
/*---                                               --*/                
/*----------------------------------------------------*/                
/*----------------------------------------------------*/                
/* Drop Proc SP_TCFINA_BANC_Q03      --*/                  
/* Grant Execute On SP_TCFINA_BANC_Q03 To Public     --*/                  
/*                 
Create Table  #TWFILT_EMAE               
( CO_EMPR Varchar(02),              
 CO_BANC Varchar(03),              
 CO_TIPO_FINA Varchar(03),              
 NU_COMP_FINA Varchar(08)              
  )                 
                
Insert Into #TWFILT_EMAE Values ('01', 'CON', 'PRE', '00000001')                
Insert Into #TWFILT_EMAE Values ('01', 'CON', 'PRE', '00000002')                
Insert Into #TWFILT_EMAE Values ('01', 'CON', 'PRE', '00000003')                
                
Declare                
@ISCO_EMPR   TD_VC_002,              
@IDFE_INIC   TD_DT_001,              
@IDFE_FINA   TD_DT_001,              
@ISCO_MONE_PRES  TD_VC_003,              
@ISST_DETA   TD_VC_001,              
@ISDE_OPCI_FILT  TD_VC_001                
              
  Set @ISCO_EMPR = '01'                
  Set @IDFE_INIC = '01/01/2004'                
  Set @IDFE_FINA = '01/01/2007'                
  Set @ISCO_MONE_PRES = 'SOL'                
  Set @ISST_DETA = 'A'                
  Set @ISDE_OPCI_FILT = 'N'                
                
Execute SP_TCFINA_BANC_Q03 @ISCO_EMPR, @IDFE_INIC, @IDFE_FINA, @ISCO_MONE_PRES, @ISST_DETA, @ISDE_OPCI_FILT              
                
 */                
/*----------------------------------------------------*/                
@ISCO_EMPR   TD_VC_002,              
@IDFE_INIC   TD_DT_001,              
@IDFE_FINA   TD_DT_001,              
@ISCO_MONE_PRES  TD_VC_003,              
@ISST_DETA   TD_VC_001,              
@ISDE_OPCI_FILT  TD_VC_001                
                
AS                  
              
Declare                      
                      
/* Declaro variables para Parametrizaciones */                      
@VSTI_CAMB   TD_VC_001,                
@VSTI_ORIG   TD_VC_001,                
@VSCO_MONE_NACI TD_VC_003,                
@VSCO_MONE_EXTR TD_VC_003,            
@VSCO_TIAU_CLIE TD_VC_001,            
@VSCO_TIAU_PROV TD_VC_001            
            
            
              
              
/******** Parametros del Sistema **************/             
Select @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG                      
From TTFACA_OPCI                      
Where CO_EMPR = @ISCO_EMPR            
 And CO_MODU = 'TEEM0001'                      
 And CO_MENU = 'FTEERBG'                      
                      
If ( @VSTI_CAMB Is Null Or @VSTI_ORIG Is Null )                      
 Select @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG,                
     @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR,            
  @VSCO_TIAU_CLIE = CO_TIAU_CLIE, @VSCO_TIAU_PROV = CO_TIAU_PROV            
 From TMPARA_TESO                      
 Where CO_EMPR = @ISCO_EMPR                      
Else                      
  Select @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR,            
   @VSCO_TIAU_CLIE = CO_TIAU_CLIE, @VSCO_TIAU_PROV = CO_TIAU_PROV            
  From  TMPARA_TESO                
  Where CO_EMPR = @ISCO_EMPR                
           
--- Resumido--              
If @ISST_DETA = 'A'              
Begin              
 Select TTBANC_FINA.DE_NOMB_CORT  + Case TDBANC_FINA.ST_LINE_CCRE When 'S' Then ' *' Else '' End DE_NOMB_CORT, 
TTTIPO_FINA.DE_TIPO_FINA,        
 TCFINA_BANC.NU_COMP_FINA,        
 TCFINA_BANC.FE_OPER,              
 TCFINA_BANC.FA_TIPO_CAMB, TCFINA_BANC.FA_CAMB_EXTR,         
 (IsNull(TCFINA_BANC.IM_FINA,0) - IsNull(TDFINA_PAGO.IM_MOVI_PAGO,0)) IM_FINA,         
 TCFINA_BANC.NU_REFE, TCFINA_BANC.FE_VALI,              
 TCFINA_BANC.TI_DOCU_BANC, TCFINA_BANC.NU_DOCU_BANC, TCFINA_BANC.NO_BENE,         
 Case TTTIPO_FINA.ST_DOCU_BANC When 'N' Then TCFINA_BANC.NU_FINA Else TCFINA_BANC.NU_DOCU_BANC End,         
 TCFINA_BANC.NU_CNTA_BANC,              
 TCFINA_BANC.AA_BNCO, TCFINA_BANC.MM_BNCO, TCFINA_BANC.NU_COMP_BANC, TCFINA_BANC.FE_ABON,         
 Case TTTIPO_FINA.ST_DOCU_BANC When 'N' Then TCFINA_BANC.FE_VENC Else TCFINA_BANC.FE_VALI End,        
 TCFINA_BANC.DE_GLOS,              
 IsNull(TCFINA_BANC.CO_MONE, TTTIFN_BANC.CO_MONE_CRED) CO_MONE_CRED, TCFINA_BANC.TI_SITU,            
            
   TCFINA_BANC.ST_LIBO, TCFINA_BANC.PO_INTE, TCFINA_BANC.PO_FINA, TCFINA_BANC.PO_EXCE,            
   TCFINA_BANC.PO_FINA_TOTA,             
 Case TDBANC_FINA.ST_LINE_CCRE When 'S' Then 0 Else TTTIFN_BANC.IM_LINE_CRED End IM_LINE_CRED, 
 TMRESU_FIBA.IM_FINA_TOTA IM_FINA_TOTA,            
            
 TMRESU_DFIN.TI_ENTI, TMRESU_DFIN.NO_ENTI,             
 TMRESU_DFIN.DE_GRUP_ECON, TMRESU_DFIN.FE_SALI_EMBQ,            
            
 Case TDBANC_FINA.ST_LINE_CCRE When 'S' Then TDBANC_FINA.IM_LINE_CRED Else 0 End IM_CRED_CONJ            
            
 From  TCFINA_BANC              
            
	Left Outer Join (   Select TCFINA_BANC.CO_EMPR, TCFINA_BANC.CO_BANC, TCFINA_BANC.CO_TIPO_FINA, 
IsNull(Sum(IsNull(TCFINA_BANC.IM_FINA, 0) - IsNull(TDFINA_PAGO.IM_MOVI_PAGO, 0)  ), 0) IM_FINA_TOTA            
						From TCFINA_BANC        
						Left Outer Join (Select TDFINA_PAGO.CO_EMPR, TDFINA_PAGO.CO_BANC, 
TDFINA_PAGO.CO_TIPO_FINA, TDFINA_PAGO.NU_COMP_FINA, Sum(IsNull(IM_MOVI_PAGO,0)) IM_MOVI_PAGO        
											From TDFINA_PAGO         
											Group By TDFINA_PAGO.CO_EMPR, 
TDFINA_PAGO.CO_BANC, TDFINA_PAGO.CO_TIPO_FINA, TDFINA_PAGO.NU_COMP_FINA )TDFINA_PAGO On                
							( TCFINA_BANC.CO_EMPR = TDFINA_PAGO.CO_EMPR              
							And TCFINA_BANC.CO_BANC = TDFINA_PAGO.CO_BANC              
							And TCFINA_BANC.CO_TIPO_FINA = TDFINA_PAGO.CO_TIPO_FINA              
							And TCFINA_BANC.NU_COMP_FINA = TDFINA_PAGO.NU_COMP_FINA )             
   
	
						Where  TCFINA_BANC.TI_SITU = 'APR'             
						Group By TCFINA_BANC.CO_EMPR, TCFINA_BANC.CO_BANC, TCFINA_BANC.CO_TIPO_FINA ) 
TMRESU_FIBA  On                
		( TCFINA_BANC.CO_EMPR = TMRESU_FIBA.CO_EMPR              
		And TCFINA_BANC.CO_BANC = TMRESU_FIBA.CO_BANC              
		And TCFINA_BANC.CO_TIPO_FINA = TMRESU_FIBA.CO_TIPO_FINA )             


	Left Outer Join (   Select TCFINA_BANC.CO_EMPR, TCFINA_BANC.CO_BANC, IsNull(Sum(IsNull(TCFINA_BANC.IM_FINA, 0) - 
IsNull(TDFINA_PAGO.IM_MOVI_PAGO, 0)  ), 0) IM_FINA_INTB            
						From TCFINA_BANC        
						Left Outer Join (Select TDFINA_PAGO.CO_EMPR, TDFINA_PAGO.CO_BANC, 
TDFINA_PAGO.CO_TIPO_FINA, TDFINA_PAGO.NU_COMP_FINA,
												Sum(IsNull(IM_MOVI_PAGO,0)) 
IM_MOVI_PAGO        
											From TDFINA_PAGO         
											Group By TDFINA_PAGO.CO_EMPR, 
TDFINA_PAGO.CO_BANC, TDFINA_PAGO.CO_TIPO_FINA, TDFINA_PAGO.NU_COMP_FINA) TDFINA_PAGO On                
							( TCFINA_BANC.CO_EMPR = TDFINA_PAGO.CO_EMPR              
							And TCFINA_BANC.CO_BANC = TDFINA_PAGO.CO_BANC              
							And TCFINA_BANC.CO_TIPO_FINA = TDFINA_PAGO.CO_TIPO_FINA              
							And TCFINA_BANC.NU_COMP_FINA = TDFINA_PAGO.NU_COMP_FINA )             
   
	
						Where  TCFINA_BANC.TI_SITU = 'APR'             
						Group By TCFINA_BANC.CO_EMPR, TCFINA_BANC.CO_BANC) TMRESU_INTB  On            
    
		( TCFINA_BANC.CO_EMPR = TMRESU_INTB.CO_EMPR              
		And TCFINA_BANC.CO_BANC = TMRESU_INTB.CO_BANC )             

	
	Left Outer Join TMDOCU_BANC On                
	( TCFINA_BANC.CO_EMPR = TMDOCU_BANC.CO_EMPR              
		And TCFINA_BANC.CO_BANC = TMDOCU_BANC.CO_BANC              
		And TCFINA_BANC.TI_DOCU_BANC = TMDOCU_BANC.TI_DOCU_BANC              
		And TCFINA_BANC.NU_DOCU_BANC = TMDOCU_BANC.NU_DOCU_BANC )                
	
	Inner Join TTTIFN_BANC On                
		( TCFINA_BANC.CO_EMPR = TTTIFN_BANC.CO_EMPR              
		And TCFINA_BANC.CO_BANC = TTTIFN_BANC.CO_BANC              
		And TCFINA_BANC.CO_TIPO_FINA = TTTIFN_BANC.CO_TIPO_FINA )             
	
	Inner Join TTTIPO_FINA On                
		( TCFINA_BANC.CO_TIPO_FINA = TTTIPO_FINA.CO_TIPO_FINA )                
	
	Inner Join TTBANC_FINA On                
		( TCFINA_BANC.CO_BANC = TTBANC_FINA.CO_BANC )                
		
	Left Outer Join (            
		Select TDFINA_BANC.CO_EMPR, TDFINA_BANC.CO_BANC, TDFINA_BANC.CO_TIPO_FINA, TDFINA_BANC.NU_COMP_FINA, 
IsNull(Sum(IsNull(TDFINA_BANC.IM_FINA, 0)), 0) TO_FINA_DETA,            
		Max(TDFINA_BANC.TI_ENTI) TI_ENTI, Max(TMAUXI_EMPR.NO_AUXI) NO_ENTI,              
		Max(TTGRUP_ECON.DE_GRUP_ECON) DE_GRUP_ECON,              
		Max(FE_SALI_EMBQ) FE_SALI_EMBQ            
		From TDFINA_BANC            
	
		Inner Join TTTIPO_FINA On                
			( TDFINA_BANC.CO_TIPO_FINA = TTTIPO_FINA.CO_TIPO_FINA )                
		
		Left Outer Join TMAUXI_EMPR On                
			(  TDFINA_BANC.CO_EMPR = TMAUXI_EMPR.CO_EMPR              
			And ( (TTTIPO_FINA.ST_DOCU_CLIE = 'S' And TMAUXI_EMPR.TI_AUXI_EMPR = 'c') Or 
(TTTIPO_FINA.ST_DOCU_PROV = 'S' And TMAUXI_EMPR.TI_AUXI_EMPR = 'p' ) )             
			And TDFINA_BANC.CO_ENTI = TMAUXI_EMPR.CO_AUXI_EMPR )                
		
		Left Outer Join TTGRUP_ECON On                
			(  TTTIPO_FINA.ST_DOCU_CLIE = 'S' And               
			TDFINA_BANC.CO_GRUP_ECON = TTGRUP_ECON.CO_GRUP_ECON  )                
		
		Group By TDFINA_BANC.CO_EMPR, TDFINA_BANC.CO_BANC, TDFINA_BANC.CO_TIPO_FINA, TDFINA_BANC.NU_COMP_FINA   ) 
TMRESU_DFIN  On

	( TCFINA_BANC.CO_EMPR = TMRESU_DFIN.CO_EMPR              
	And TCFINA_BANC.CO_BANC = TMRESU_DFIN.CO_BANC              
	And TCFINA_BANC.CO_TIPO_FINA = TMRESU_DFIN.CO_TIPO_FINA            
	And TCFINA_BANC.NU_COMP_FINA = TMRESU_DFIN.NU_COMP_FINA )             
	
	Inner Join TDBANC_FINA On                
		( TCFINA_BANC.CO_EMPR = TDBANC_FINA.CO_EMPR              
		And TCFINA_BANC.CO_BANC = TDBANC_FINA.CO_BANC  )             
	
	Left Outer Join (Select TDFINA_PAGO.CO_EMPR, TDFINA_PAGO.CO_BANC, TDFINA_PAGO.CO_TIPO_FINA, TDFINA_PAGO.NU_COMP_FINA, 
Sum(IsNull(IM_MOVI_PAGO,0)) IM_MOVI_PAGO        
					From TDFINA_PAGO         
					Group By TDFINA_PAGO.CO_EMPR, TDFINA_PAGO.CO_BANC, TDFINA_PAGO.CO_TIPO_FINA, 
TDFINA_PAGO.NU_COMP_FINA )TDFINA_PAGO On                
					( TCFINA_BANC.CO_EMPR = TDFINA_PAGO.CO_EMPR              
					And TCFINA_BANC.CO_BANC = TDFINA_PAGO.CO_BANC              
					And TCFINA_BANC.CO_TIPO_FINA = TDFINA_PAGO.CO_TIPO_FINA              
					And TCFINA_BANC.NU_COMP_FINA = TDFINA_PAGO.NU_COMP_FINA )                
              
 Where              
  TCFINA_BANC.FE_OPER >= @IDFE_INIC And              
  TCFINA_BANC.FE_OPER <= @IDFE_FINA And              
              
   ( ( @ISDE_OPCI_FILT = 'S' And Exists (               
     Select t0.NU_COMP_FINA               
     From #TWFILT_EMAE t0               
     Where TCFINA_BANC.CO_EMPR = t0.CO_EMPR And              
       TCFINA_BANC.CO_BANC  = t0.CO_BANC And              
       TCFINA_BANC.CO_TIPO_FINA = t0.CO_TIPO_FINA And              
       TCFINA_BANC.NU_COMP_FINA = t0.NU_COMP_FINA   )              
     ) Or                
      ( @ISDE_OPCI_FILT = 'N')                
      )                
            
 Order by   1, 2 , 19          
End              
--- Detalle Financiamiento            
Else  if @ISST_DETA = 'B'              
Begin              
 Select TTBANC_FINA.DE_NOMB_CORT, TTTIPO_FINA.DE_TIPO_FINA, TCFINA_BANC.NU_COMP_FINA, TCFINA_BANC.FE_OPER,              
    TCFINA_BANC.FA_TIPO_CAMB, TCFINA_BANC.FA_CAMB_EXTR, TCFINA_BANC.IM_FINA, TCFINA_BANC.NU_REFE, TCFINA_BANC.FE_VALI,        
      
    TCFINA_BANC.TI_DOCU_BANC, TCFINA_BANC.NU_DOCU_BANC,               
    TCFINA_BANC.NO_BENE, TCFINA_BANC.NU_FINA, TCFINA_BANC.NU_CNTA_BANC,              
    TCFINA_BANC.AA_BNCO, TCFINA_BANC.MM_BNCO, TCFINA_BANC.NU_COMP_BANC, TCFINA_BANC.FE_ABON, TCFINA_BANC.FE_VENC, 
TCFINA_BANC.DE_GLOS,              
    IsNull(TCFINA_BANC.CO_MONE, TTTIFN_BANC.CO_MONE_CRED) CO_MONE_CRED, TCFINA_BANC.TI_SITU,              
    TDFINA_BANC.TI_ENTI, TDFINA_BANC.CO_ENTI, TMAUXI_EMPR.NO_AUXI NO_ENTI,              
    TDFINA_BANC.CO_GRUP_ECON, TTGRUP_ECON.DE_GRUP_ECON,              
    TDFINA_BANC.TI_DOCU_ENTI, TDFINA_BANC.NU_DOCU_ENTI,              
    TDFINA_BANC.CO_MONE_DOCU, TDFINA_BANC.FE_DOCU,  TDFINA_BANC.FE_VENC, TDFINA_BANC.FE_SALI_EMBQ,               
    TDFINA_BANC.FA_CAMB_EXTR, TDFINA_BANC.IM_DOCU,  TDFINA_BANC.IM_FINA, TDFINA_BANC.IM_SALD_DOCU,               
    TDFINA_BANC.IM_CONV_DOCU                
              
 From  TCFINA_BANC              
              
      Left Outer Join TDFINA_BANC On                
 ( TCFINA_BANC.CO_EMPR = TDFINA_BANC.CO_EMPR              
  And TCFINA_BANC.CO_BANC = TDFINA_BANC.CO_BANC              
  And TCFINA_BANC.CO_TIPO_FINA = TDFINA_BANC.CO_TIPO_FINA              
  And TCFINA_BANC.NU_COMP_FINA = TDFINA_BANC.NU_COMP_FINA )                
              
   Inner Join TTTIFN_BANC On                
   ( TCFINA_BANC.CO_EMPR = TTTIFN_BANC.CO_EMPR              
  And TCFINA_BANC.CO_BANC = TTTIFN_BANC.CO_BANC              
  And TCFINA_BANC.CO_TIPO_FINA = TTTIFN_BANC.CO_TIPO_FINA )                
              
      Left Outer Join TMDOCU_BANC On                
   ( TCFINA_BANC.CO_EMPR = TMDOCU_BANC.CO_EMPR              
  And TCFINA_BANC.CO_BANC = TMDOCU_BANC.CO_BANC              
  And TCFINA_BANC.TI_DOCU_BANC = TMDOCU_BANC.TI_DOCU_BANC              
  And TCFINA_BANC.NU_DOCU_BANC = TMDOCU_BANC.NU_DOCU_BANC )                
              
  Inner Join TTTIPO_FINA On                
  ( TCFINA_BANC.CO_TIPO_FINA = TTTIPO_FINA.CO_TIPO_FINA )                
              
      Left Outer Join TMAUXI_EMPR On                
   (  TCFINA_BANC.CO_EMPR = TMAUXI_EMPR.CO_EMPR              
  And ( (TTTIPO_FINA.ST_DOCU_CLIE = 'S' And TMAUXI_EMPR.TI_AUXI_EMPR = @VSCO_TIAU_CLIE) Or (TTTIPO_FINA.ST_DOCU_PROV = 
'S' And TMAUXI_EMPR.TI_AUXI_EMPR = @VSCO_TIAU_PROV) )              
  And TDFINA_BANC.CO_ENTI = TMAUXI_EMPR.CO_AUXI_EMPR )                
              
      Left Outer Join TTGRUP_ECON On                
   (  TTTIPO_FINA.ST_DOCU_CLIE = 'S' And               
   TDFINA_BANC.CO_GRUP_ECON = TTGRUP_ECON.CO_GRUP_ECON  )                
            
   Inner Join TTBANC_FINA On                
   ( TCFINA_BANC.CO_BANC = TTBANC_FINA.CO_BANC )                
            
              
 Where              
  TCFINA_BANC.FE_OPER >= @IDFE_INIC And              
  TCFINA_BANC.FE_OPER <= @IDFE_FINA And              
              
   ( ( @ISDE_OPCI_FILT = 'S' And Exists (               
     Select t0.NU_COMP_FINA               
     From #TWFILT_EMAE t0               
     Where TCFINA_BANC.CO_EMPR = t0.CO_EMPR And              
       TCFINA_BANC.CO_BANC  = t0.CO_BANC And             
       TCFINA_BANC.CO_TIPO_FINA = t0.CO_TIPO_FINA And              
       TCFINA_BANC.NU_COMP_FINA = t0.NU_COMP_FINA )              
     ) Or                
      ( @ISDE_OPCI_FILT = 'N')                
      )                
            
  Order By TCFINA_BANC.CO_BANC, TCFINA_BANC.CO_TIPO_FINA, TCFINA_BANC.NU_COMP_FINA            
 End            
Else            
Begin              
 Select TTBANC_FINA.DE_NOMB_CORT, TTTIPO_FINA.DE_TIPO_FINA, TCFINA_BANC.NU_COMP_FINA, TCFINA_BANC.FE_OPER,              
    TCFINA_BANC.FA_TIPO_CAMB, TCFINA_BANC.FA_CAMB_EXTR, TCFINA_BANC.IM_FINA, TCFINA_BANC.NU_REFE, TCFINA_BANC.FE_VALI,        
      
    TCFINA_BANC.TI_DOCU_BANC, TCFINA_BANC.NU_DOCU_BANC,               
    TCFINA_BANC.NO_BENE, TCFINA_BANC.NU_FINA, TCFINA_BANC.NU_CNTA_BANC,              
    TCFINA_BANC.AA_BNCO, TCFINA_BANC.MM_BNCO, TCFINA_BANC.NU_COMP_BANC, TCFINA_BANC.FE_ABON, TCFINA_BANC.FE_VENC, 
TCFINA_BANC.DE_GLOS,              
    IsNull(TCFINA_BANC.CO_MONE, TTTIFN_BANC.CO_MONE_CRED) CO_MONE_CRED, TCFINA_BANC.TI_SITU,              
            
    TDFINA_PAGO.NU_SECU, TDFINA_PAGO.NU_CNTA_BANC, TDFINA_PAGO.AA_BNCO,   TDFINA_PAGO.MM_BNCO, TDFINA_PAGO.TI_MOVI_BANC, 
TDFINA_PAGO.NU_COMP_BANC,            
    TDFINA_PAGO.FE_OPER, TDFINA_PAGO.IM_MOVI_CARG, TDFINA_PAGO.IM_MOVI_PAGO              
 From  TCFINA_BANC              
              
      Left Outer Join TDFINA_PAGO On                
   ( TCFINA_BANC.CO_EMPR = TDFINA_PAGO.CO_EMPR              
  And TCFINA_BANC.CO_BANC = TDFINA_PAGO.CO_BANC              
  And TCFINA_BANC.CO_TIPO_FINA = TDFINA_PAGO.CO_TIPO_FINA              
  And TCFINA_BANC.NU_COMP_FINA = TDFINA_PAGO.NU_COMP_FINA )                
              
   Inner Join TTTIFN_BANC On                
  ( TCFINA_BANC.CO_EMPR = TTTIFN_BANC.CO_EMPR              
  And TCFINA_BANC.CO_BANC = TTTIFN_BANC.CO_BANC              
  And TCFINA_BANC.CO_TIPO_FINA = TTTIFN_BANC.CO_TIPO_FINA )                
              
      Left Outer Join TMDOCU_BANC On                
   ( TCFINA_BANC.CO_EMPR = TMDOCU_BANC.CO_EMPR              
  And TCFINA_BANC.CO_BANC = TMDOCU_BANC.CO_BANC              
  And TCFINA_BANC.TI_DOCU_BANC = TMDOCU_BANC.TI_DOCU_BANC              
  And TCFINA_BANC.NU_DOCU_BANC = TMDOCU_BANC.NU_DOCU_BANC )                
              
  Inner Join TTTIPO_FINA On                
  ( TCFINA_BANC.CO_TIPO_FINA = TTTIPO_FINA.CO_TIPO_FINA )                
              
              
   Inner Join TTBANC_FINA On                
   ( TCFINA_BANC.CO_BANC = TTBANC_FINA.CO_BANC )                
            
              
 Where              
  TCFINA_BANC.FE_OPER >= @IDFE_INIC And              
  TCFINA_BANC.FE_OPER <= @IDFE_FINA And              
              
   ( ( @ISDE_OPCI_FILT = 'S' And Exists (               
     Select t0.NU_COMP_FINA               
     From #TWFILT_EMAE t0               
     Where TCFINA_BANC.CO_EMPR = t0.CO_EMPR And              
       TCFINA_BANC.CO_BANC  = t0.CO_BANC And             
       TCFINA_BANC.CO_TIPO_FINA = t0.CO_TIPO_FINA And              
       TCFINA_BANC.NU_COMP_FINA = t0.NU_COMP_FINA )              
     ) Or                
      ( @ISDE_OPCI_FILT = 'N')                
      )                
            
  Order By TCFINA_BANC.CO_BANC, TCFINA_BANC.CO_TIPO_FINA, TCFINA_BANC.NU_COMP_FINA            
              
End              
/***************************************** F I N ************************************************/


GO
